【BUG】Linux目录下明明有可执行文件却提示找不到,“No such file or directory”,解决:为64位Ubuntu安装32位程序的运行架构 | 您所在的位置:网站首页 › linux 运行c文件 › 【BUG】Linux目录下明明有可执行文件却提示找不到,“No such file or directory”,解决:为64位Ubuntu安装32位程序的运行架构 |
问题
我做了如下努力: ls显示;(能够成功显示)修改文件名;(能够正常复制、修改、移动,并且被复制的仍然不能运行)调整文件属性,弄成777;cat显示文件。(能够成功显示)root执行文件;(找不到文件)直接输入repeat;(显示无该命令)切换到其他的目录下,再用相对路径执行repeat;(找不到文件)绝对路径执行repeat;(找不到文件)exec执行:exec ./repeat;(找不到文件)换个别的终端执行:/bin/sh ./repeat;(报错)换了一个机子,能正常运行(说明并不是文件本身的问题)。都是玄学办法,没有起到作用。 解决检查文件的头部:readelf -h repeat; 原来,这是32位的程序,在64位的Ubuntu中运行需要提前安装32位的库。 首先添加i32架构,然后更新镜像源,再安装就可以了,指令如下: sudo dpkg --add-architecture i386 sudo apt-get update sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 -y sudo apt install lib32z1 -y然后就可以了!就可以运行了!!! |
CopyRight 2018-2019 实验室设备网 版权所有 |